package com.ourteam.product.model.dao;

/**
 * Template Name : DAO数据对象
 * Template Version : 1
 * Template Last Modfiy Date : Fri Aug 18 15:51:23 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:00:55
  * Warning ! This file will be overwrite when regenerate !
  *
 */
import org.apache.commons.lang.StringUtils;


public class ProductModelAction implements java.io.Serializable {
    private long id;

    /**
     * Attribute id Be Seted Falg
     */
    private boolean idSetted = false;

    /**
    * Attribute id is Null Falg
    */
    private boolean idNull = false;
    private long objectId;

    /**
     * Attribute objectId Be Seted Falg
     */
    private boolean objectIdSetted = false;

    /**
    * Attribute objectId is Null Falg
    */
    private boolean objectIdNull = false;
    private long propertyId;

    /**
     * Attribute propertyId Be Seted Falg
     */
    private boolean propertyIdSetted = false;

    /**
    * Attribute propertyId is Null Falg
    */
    private boolean propertyIdNull = false;
    private String action;

    /**
     * Attribute action Be Seted Falg
     */
    private boolean actionSetted = false;

    /**
    * Attribute action is Null Falg
    */
    private boolean actionNull = false;
    private String operation;

    /**
     * Attribute operation Be Seted Falg
     */
    private boolean operationSetted = false;

    /**
    * Attribute operation is Null Falg
    */
    private boolean operationNull = false;
    private String propertyValue;

    /**
     * Attribute propertyValue Be Seted Falg
     */
    private boolean propertyValueSetted = false;

    /**
    * Attribute propertyValue is Null Falg
    */
    private boolean propertyValueNull = false;
    private String status;

    /**
     * Attribute status Be Seted Falg
     */
    private boolean statusSetted = false;

    /**
    * Attribute status is Null Falg
    */
    private boolean statusNull = false;
    private String remarks;

    /**
     * Attribute remarks Be Seted Falg
     */
    private boolean remarksSetted = false;

    /**
    * Attribute remarks is Null Falg
    */
    private boolean remarksNull = false;
    private String propertyName;

    /**
     * Attribute propertyName Be Seted Falg
     */
    private boolean propertyNameSetted = false;

    /**
    * Attribute propertyName is Null Falg
    */
    private boolean propertyNameNull = false;
    private String propertyDataType;

    /**
     * Attribute propertyDataType Be Seted Falg
     */
    private boolean propertyDataTypeSetted = false;

    /**
    * Attribute propertyDataType is Null Falg
    */
    private boolean propertyDataTypeNull = false;

    public ProductModelAction() {
        super();
    }

    /**
         * Get id
         *
         * @return long
         */
    final public long getId() {
        return id;
    }

    /**
     * Set id
     *
     * @param long
     */
    final public void setId(long id) {
        this.id = id;

        this.idSetted = true;

        this.setIdNull(false);
    }

    /**
     * Get id Has Been Setted
     *
     * @return boolean
     */
    final public boolean isIdSetted() {
        return this.idSetted;
    }

    /**
     * Set id Null
     *
     */
    final public void setIdNull() {
        this.idNull = true;
    }

    final public void setIdNull(boolean aNullFlag) {
        this.idNull = aNullFlag;
    }

    final public boolean isIdNull() {
        return this.idNull;
    }

    /**
         * Get objectId
         *
         * @return long
         */
    final public long getObjectId() {
        return objectId;
    }

    /**
     * Set objectId
     *
     * @param long
     */
    final public void setObjectId(long objectId) {
        this.objectId = objectId;

        this.objectIdSetted = true;

        this.setObjectIdNull(false);
    }

    /**
     * Get objectId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isObjectIdSetted() {
        return this.objectIdSetted;
    }

    /**
     * Set objectId Null
     *
     */
    final public void setObjectIdNull() {
        this.objectIdNull = true;
    }

    final public void setObjectIdNull(boolean aNullFlag) {
        this.objectIdNull = aNullFlag;
    }

    final public boolean isObjectIdNull() {
        return this.objectIdNull;
    }

    /**
         * Get propertyId
         *
         * @return long
         */
    final public long getPropertyId() {
        return propertyId;
    }

    /**
     * Set propertyId
     *
     * @param long
     */
    final public void setPropertyId(long propertyId) {
        this.propertyId = propertyId;

        this.propertyIdSetted = true;

        this.setPropertyIdNull(false);
    }

    /**
     * Get propertyId Has Been Setted
     *
     * @return boolean
     */
    final public boolean isPropertyIdSetted() {
        return this.propertyIdSetted;
    }

    /**
     * Set propertyId Null
     *
     */
    final public void setPropertyIdNull() {
        this.propertyIdNull = true;
    }

    final public void setPropertyIdNull(boolean aNullFlag) {
        this.propertyIdNull = aNullFlag;
    }

    final public boolean isPropertyIdNull() {
        return this.propertyIdNull;
    }

    /**
         * Get action
         *
         * @return String
         */
    final public String getAction() {
        if (isActionNull()) {
            return null;
        } else {
            return StringUtils.trim(action);
        }
    }

    /**
     * Set action
     *
     * @param String
     */
    final public void setAction(String action) {
        this.action = StringUtils.trim(action);

        this.actionSetted = true;

        this.setActionNull(this.action == null);
    }

    /**
     * Get action Has Been Setted
     *
     * @return boolean
     */
    final public boolean isActionSetted() {
        return this.actionSetted;
    }

    /**
     * Set action Null
     *
     */
    final public void setActionNull() {
        this.actionNull = true;
    }

    final public void setActionNull(boolean aNullFlag) {
        this.actionNull = aNullFlag;
    }

    final public boolean isActionNull() {
        return this.actionNull;
    }

    /**
         * Get operation
         *
         * @return String
         */
    final public String getOperation() {
        if (isOperationNull()) {
            return null;
        } else {
            return StringUtils.trim(operation);
        }
    }

    /**
     * Set operation
     *
     * @param String
     */
    final public void setOperation(String operation) {
        this.operation = StringUtils.trim(operation);

        this.operationSetted = true;

        this.setOperationNull(this.operation == null);
    }

    /**
     * Get operation Has Been Setted
     *
     * @return boolean
     */
    final public boolean isOperationSetted() {
        return this.operationSetted;
    }

    /**
     * Set operation Null
     *
     */
    final public void setOperationNull() {
        this.operationNull = true;
    }

    final public void setOperationNull(boolean aNullFlag) {
        this.operationNull = aNullFlag;
    }

    final public boolean isOperationNull() {
        return this.operationNull;
    }

    /**
         * Get propertyValue
         *
         * @return String
         */
    final public String getPropertyValue() {
        if (isPropertyValueNull()) {
            return null;
        } else {
            return StringUtils.trim(propertyValue);
        }
    }

    /**
     * Set propertyValue
     *
     * @param String
     */
    final public void setPropertyValue(String propertyValue) {
        this.propertyValue = StringUtils.trim(propertyValue);

        this.propertyValueSetted = true;

        this.setPropertyValueNull(this.propertyValue == null);
    }

    /**
     * Get propertyValue Has Been Setted
     *
     * @return boolean
     */
    final public boolean isPropertyValueSetted() {
        return this.propertyValueSetted;
    }

    /**
     * Set propertyValue Null
     *
     */
    final public void setPropertyValueNull() {
        this.propertyValueNull = true;
    }

    final public void setPropertyValueNull(boolean aNullFlag) {
        this.propertyValueNull = aNullFlag;
    }

    final public boolean isPropertyValueNull() {
        return this.propertyValueNull;
    }

    /**
         * Get status
         *
         * @return String
         */
    final public String getStatus() {
        if (isStatusNull()) {
            return null;
        } else {
            return StringUtils.trim(status);
        }
    }

    /**
     * Set status
     *
     * @param String
     */
    final public void setStatus(String status) {
        this.status = StringUtils.trim(status);

        this.statusSetted = true;

        this.setStatusNull(this.status == null);
    }

    /**
     * Get status Has Been Setted
     *
     * @return boolean
     */
    final public boolean isStatusSetted() {
        return this.statusSetted;
    }

    /**
     * Set status Null
     *
     */
    final public void setStatusNull() {
        this.statusNull = true;
    }

    final public void setStatusNull(boolean aNullFlag) {
        this.statusNull = aNullFlag;
    }

    final public boolean isStatusNull() {
        return this.statusNull;
    }

    /**
         * Get remarks
         *
         * @return String
         */
    final public String getRemarks() {
        if (isRemarksNull()) {
            return null;
        } else {
            return StringUtils.trim(remarks);
        }
    }

    /**
     * Set remarks
     *
     * @param String
     */
    final public void setRemarks(String remarks) {
        this.remarks = StringUtils.trim(remarks);

        this.remarksSetted = true;

        this.setRemarksNull(this.remarks == null);
    }

    /**
     * Get remarks Has Been Setted
     *
     * @return boolean
     */
    final public boolean isRemarksSetted() {
        return this.remarksSetted;
    }

    /**
     * Set remarks Null
     *
     */
    final public void setRemarksNull() {
        this.remarksNull = true;
    }

    final public void setRemarksNull(boolean aNullFlag) {
        this.remarksNull = aNullFlag;
    }

    final public boolean isRemarksNull() {
        return this.remarksNull;
    }

    /**
         * Get propertyName
         *
         * @return String
         */
    final public String getPropertyName() {
        if (isPropertyNameNull()) {
            return null;
        } else {
            return StringUtils.trim(propertyName);
        }
    }

    /**
     * Set propertyName
     *
     * @param String
     */
    final public void setPropertyName(String propertyName) {
        this.propertyName = StringUtils.trim(propertyName);

        this.propertyNameSetted = true;

        this.setPropertyNameNull(this.propertyName == null);
    }

    /**
     * Get propertyName Has Been Setted
     *
     * @return boolean
     */
    final public boolean isPropertyNameSetted() {
        return this.propertyNameSetted;
    }

    /**
     * Set propertyName Null
     *
     */
    final public void setPropertyNameNull() {
        this.propertyNameNull = true;
    }

    final public void setPropertyNameNull(boolean aNullFlag) {
        this.propertyNameNull = aNullFlag;
    }

    final public boolean isPropertyNameNull() {
        return this.propertyNameNull;
    }

    /**
         * Get propertyDataType
         *
         * @return String
         */
    final public String getPropertyDataType() {
        if (isPropertyDataTypeNull()) {
            return null;
        } else {
            return StringUtils.trim(propertyDataType);
        }
    }

    /**
     * Set propertyDataType
     *
     * @param String
     */
    final public void setPropertyDataType(String propertyDataType) {
        this.propertyDataType = StringUtils.trim(propertyDataType);

        this.propertyDataTypeSetted = true;

        this.setPropertyDataTypeNull(this.propertyDataType == null);
    }

    /**
     * Get propertyDataType Has Been Setted
     *
     * @return boolean
     */
    final public boolean isPropertyDataTypeSetted() {
        return this.propertyDataTypeSetted;
    }

    /**
     * Set propertyDataType Null
     *
     */
    final public void setPropertyDataTypeNull() {
        this.propertyDataTypeNull = true;
    }

    final public void setPropertyDataTypeNull(boolean aNullFlag) {
        this.propertyDataTypeNull = aNullFlag;
    }

    final public boolean isPropertyDataTypeNull() {
        return this.propertyDataTypeNull;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;

        result = (prime * result) + (int) (getId() ^ (getId() >>> 32));

        return result;
    }

    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }

        if ((obj instanceof ProductModelAction) == false) {
            return false;
        }

        ProductModelAction other = (ProductModelAction) obj;

        if (getId() != other.getId()) {
            return false;
        }

        return true;
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();

        buffer.append("[");

        buffer.append("id=");
        buffer.append(this.id);

        buffer.append("objectId=");
        buffer.append(this.objectId);

        buffer.append("propertyId=");
        buffer.append(this.propertyId);

        buffer.append("action=");
        buffer.append(this.action);

        buffer.append("operation=");
        buffer.append(this.operation);

        buffer.append("propertyValue=");
        buffer.append(this.propertyValue);

        buffer.append("status=");
        buffer.append(this.status);

        buffer.append("remarks=");
        buffer.append(this.remarks);

        buffer.append("propertyName=");
        buffer.append(this.propertyName);

        buffer.append("propertyDataType=");
        buffer.append(this.propertyDataType);

        buffer.append("]");

        return buffer.toString();
    }
}
